
import ExcelJS from "exceljs";
import fileSave from "file-saver";
// 导出echart + 表格

// interface exportExcelType {
//   // 导出名称
//   fileName:string,
//   // 表头字段
//   columns:Object[],
//   // 表头字段对应中文名
//   columnsTitle:string[],
//   // 插入图片
//   base64Url?:Object[],
//   // 数据
//   data:Object[],
//   // 合并行结束列
//   endRow?:number
// }
const exportExcel = (options)=>{
  const workbook = new ExcelJS.Workbook();
  const worksheet = workbook.addWorksheet("Sheet1");
  
  
 
  
  // 插入标题
  // 按开始行，开始列，结束行，结束列合并
  const titleRow = worksheet.getCell('A1');
  titleRow.value = options.fileName.substring(0,options.fileName.length - 8);
  titleRow.font = {
    size: 16,
    bold: false
  };
  titleRow.alignment = { vertical: 'middle', horizontal: 'center' };

  
  // 插入表头
  worksheet.getRow(1).values = options.columnsTitle;
  // 行高
  worksheet.properties.defaultRowHeight = 25;
  // 插入数据

  // 生成并导出excel文件
  workbook.xlsx.writeBuffer().then((buffer) => {
    const blob = new Blob([buffer], {
      type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8",
    });
    fileSave(blob, `${options.fileName}.xlsx`);
  });
}

export {
  exportExcel
}